約 3,851,143 件
https://w.atwiki.jp/atwikimyj/pages/59.html
emplate-Toolkitでのはまり、TIPSを記録する。 ◆リンク集 <参考> TTdoc 和訳ページ http //www.hakoniwa.net/tt/index.html TT超入門。これで基本がわかった http //www.sea-bird.org/doc/Solaris8/Perl_2.html サンプル http //bob.marlboro.edu/~msie/2001/ipl/perl/code/jan27/TemplateToolkit/ TTで使える関数プチ一覧。なんでもできそうだ。 http //hwat.sakura.ne.jp/hpod/200604/06-140134/ DBマガジンのサンプルプログラム 紙だけど、相当参考になった。 ◆TIPS (1)インストールにきをつけろ perlのサンプルスクリプト上では template というモジュール名になっているので PPMで template と指定してインストール。しかしこれはTTとは別のモジュールなのだ。 本当は template-toolkit でsearchして、この名前でインストールする必要があった、、、。 (2)イテレイト型のオブジェクトをそのままTTにぶんなげる $Sale_prod_list = MAGCLASS ObjectsTable - search( [ $criteria1 , $criteria2 , $criteria3, $criteria4 ],{ order_by = prod_sellrank } ); こんなふうに雑誌情報のオブジェクトを取得して、 my $template = Template- new; my $output; $template- process( teiki_make_index.html ,{ Sale_prod_list = $Sale_prod_list } ,$output); こうする。複数の雑誌情報を持つオブジェクトが teiki_make_index.html に投げられる。 これを受け入れる書式は [% WHILE ( sp = Sale_prod_list.next) -%] [% IF sp.prod_price != %] /価格:[% sp.prod_price %]円 [% END %] [% IF sp.prod_toku != %] /(特典あり) [% END %] [% END %] こんな感じ。まずWHILEでperlから渡されたSale_prod_listを受けるわけだけど 1つ1つ順番に読み込むようにSale_prod_list.nextと記述し、その1つ1つの オブジェクトはsp = Sale_prod_list.nextとすることでspに入る。 sp.prod_noなどとすることでオブジェクト内のハッシュを読み取れる。 注意点: ・WHILEやENDなどの書式は必ず大文字 ・条件式は必ずENDで閉めよう (3)作製されたHTMLについて $template- process( teiki_make_index.html ,{ Sale_prod_list = $Sale_prod_list } ,$output); と記述すると、$outputに作製されたHTMLが入る。 (テンプレート ,{ エイリアス= オブジェクト } , $出力先変数) という書式。注意点として、$outputではだめで、$outputとしなければならない) また、出力先変数を省略して $template- process( teiki_make_index.html ,{ Sale_prod_list = $Sale_prod_list } ); とすると自動的にprintされる。 以下いろんなサイトからのメモ ■HTMLファイルのエスケープ HTMLタグのエスケープしろという命令をテンプレートに記述できます。フィルター機能についてはTemplate Toolkit Manual Filtersに詳しく書いてありますが、例えば、 [% foo | html %]でfooの中身のHTMLタグをエスケープして出力してくれますし、 [% bar | html_line_break %]
https://w.atwiki.jp/atwikimyj/pages/16.html
[1]perlのソースをダウンロードする [2]stable.tar.gzを適当な場所(/usr/local)に保存、解凍 [3]perlインストール時の設定を行う 解凍したファイル群にINSTALLというテキストファイルがある。それを開くと、 非常に長い説明がある。くじけそうになるが、ここが頑張り所なのでなんとか 内容を見る。 ありました!デフォルトではインストール時にこういうパスにデータを入れる ようというのが。 ○perl実行ファイル $prefixexp = /usr/local ○スクリプトファイル $prefixexp/bin ○ライブラリファイル $prefixexp/lib/perl5/(5.8.8などのversion番号) [4]解凍したディレクトリに移動 # cd /usr/local/perl5.8.8 #./Configure このままデフォルト設定でインストールすれば上記の 構成でperlがインストールされる # /usr/local/bin/perl -v を実行して、バージョン番号が出ればOK でもまだこのインストールしたperlにはパスが通ってない。 従来インストールされているperlの実行ファイルが有効に なっている。 そのperlの実行ファイルというのは /usr/bin/perl このファイルを別名で保存する。 /usr/bin/perl.hoge とかにしてシンボリックリンクを張る # ln -s /usr/local/bin/perl /usr/bin/perl [5]パスを通す /etc/profile を編集し、 PERL_PATH=/usr/local export PERL5LIB=${PERL_PATH}/lib export PATH=${PERL_PATH}/bin $PATH を追記し、コンフィグの読み直し # ldconfig この段階でパスは通っているので # perl -le print for @INC とすると、 /usr/local/lib /usr/local/lib/perl5/5.8.8/i686-linux /usr/local/lib/perl5/5.8.8 /usr/local/lib/perl5/site_perl/5.8.8/i686-linux /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_per と表示され、@INCのパスも変わった。 perl自体のインストールはこれでOK でもmod_perlを使っている場合は perlのバージョンアップしたら必ずmod_perlもrebuild しないとだめなのです。 あと、必要に応じて、下記のこともやんないといけないのです。 perlモジュールインストール Catalystインストール Apache config設定
https://w.atwiki.jp/atwikimyj/pages/25.html
参考 [http //d.hatena.ne.jp/ZIGOROu/20061105/1162736838] CPAN [http //search.cpan.org/~mschilli/Log-Log4perl-1.10...] use宣言 use Catalyst Log Log4perl; ※Catalystのプラグインではない。 * log吐き出し先ファイルを設定(confのパーミッションを775にしてね) PACKAGE- log(Catalyst Log Log4perl- new("/var/www/vhosts/hoge.net/conf/log4perl.conf")); #PACKAGE setup; わからないけどsetupのメソッドを使うとエラーになる(なぜかDB内のUserテーブルが読めない!というエラー なんなんだ。。) エラーログにエラーが出る Log Log4perl configuration looks suspicious No loggers defined at /usr/local/lib/perl5/site_perl/5.8.8/Log/Log4perl/Config.pm line 308., referer http //hoge.net/user/Login/ ロガーを定義していないと思う、、とかわいいログが残っている。 confに何もかかれていない。でもエラーログにはいつもよりいろんなログが 出るようになった。 これでいいような。。。confの意味は?
https://w.atwiki.jp/atwikimyj/pages/15.html
perlバージョンアップ後に出てくる問題 perlのバージョンアップをすると、影響の出るものの一つに mod_perlがあるようだ。 perlのバージョンをあげて、mod_perlを利用してperlを起動させると Apacheの起動時に DynaLoader object version 1.05 does not match $DynaLoader VERSION (以下メッセージは延々続く・・) というようなエラーが出てhttpd自体が起動しなくなった。 DynaLoaderのバージョンがマッチしない・・? そもそもDynealoderって何? 調べると、perlからCで書かれたプログラムを呼び出すことができる モジュールらしい。 とりあえず再インストールを試みる。しかしCPANではそんなモジュールは 存在しない!とエラーで怒られる。調べるとperlのアプリケーション内に デフォルトでついてくるものらしい。なので個別でインストールとかは できないらしい。 手詰まり。何がおきているのやら、、。 ということでさらにエラーメッセージから調べる。 私と同じ問題にあたった人をapacheのメーリングリストで発見。 Mailing list archives(Apache-ML) http //mail-archives.apache.org/mod_mbox/perl-dev/200411.mbox/%3c20041119124457.GB3387@bongo%3e 結局 「perlをアップグレードしたら、mod_perlの静的なリンクが外れるから、 毎回mod_perlのrebuildが必要だよ」 というお答えが出ていた。。 つまり、CGIではなく、apache起動時にモジュール読ませて起動するperlは mod_perlになるのだが、このmod_perlが読み込むライブラリとDynaLoaderの ライブラリが不整合を起こしている(らしい)。なのでmod_perlをrebuild することでライブラリの整合が図れる、、はず。 mod_perlのrebuild rebuildだけやりたいけど、、よくわからん。大体意味もわからずにインス トールすると後で泣きを見る。とくにmod_perlってバージョンとか整合性 とかいろいろとデリケートだったような、、。 Apache1.xの環境ではmod_perl1.xを組み合わせ、 Apache2.xの環境ではmod_perl2.xを組み合わせる必要がある。 静的なインストールと動的なインストールがある 基本的にはapacheとmod_perlの両方を一度にビルドするべき などの情報がわかる。また、注意したいのは、mod_perl1.xについての情報 はたくさんあるが、MP2の情報は少なめ。よく読んでMP2の資料を探さないと いけない。 ということで下記が参考になった。 HATENA Diary NAOYA 「■ 10分で完了、mod_perl 2.0 で Hello, World!」 http //d.hatena.ne.jp/naoya/20060108/1136705441 isoya9の日記 「 [Linux] CentOS4 に mod_perl 2.02 をインストールする」 http //isoya.at.webry.info/200610/article_25.html 動的にmod_perlをインストールする場合は、先にapxsを インストールする必要がある。 # whereis apxs とコマンドを打って、何も出てこないのでapxsがインストール されていないことがわかった。 ということでWEBを参考にしながらapxsのインストール apxsはhttpd-develに含まれるため、 #yum install httpd-devel でインストールは終わり。 $ wget http //perl.apache.org/dist/mod_perl-2.0-current.tar.gz apacheのAPI削除 MP2インストール 上記のWEBサイトのとおりに作業をしてすんなりインストール完了。
https://w.atwiki.jp/atwikimyj/pages/88.html
PLESK環境での話。 某PLESK環境のVPSでmod_perl2を使おうとしたが、 ApacheはVersion2なのだが、mo_perlが1.99だった。 ということでmod_perl2にアップグレードする。 このサイトを思いっきり参考にさせていただきました。 isoya9の日記 Linux CentOS4 に mod_perl 2.02 をインストールす>る 1.apxsをインストール 確認すると下記のパスに /usr/sbin/apxs が存在。つまりapxsがインストールされていたので次の工程へ。 2.既存 Apache2 API を削除 $ find /usr/lib/perl5 -name Apache2* -exec rm -rf {} \; $ find /usr/lib/perl5 -name Apache2* -exec ls -lR {} \; perlライブラリ内のApache2関連のAPIを根こそぎ削除しています。 実行後は何も表示されません。 3.mod_perl2の入手とインストール Apacheのmod_perlのページ からインストールをします。 ほかのアプリケーションと同じように、ダウンロード、 解凍、make、make test、make installでOK。 途中でapxsのパスを聞かれるのでインストールした 時のパス(/usr/sbin/apxs)を入力する必要があります。 ここでmod_perl2がインストールされているかチェック #!/usr/bin/perl print "Content-Type text/plain\n\n"; print ($ENV{ MOD_PERL } || ERROR ); 上記のような簡単なスクリプトを作成し、 mod_perl_test.pl と名づけ(今回のPLESK環境では拡張子plで のみmod_perl2による動作をすることになっ ている)、実際に実行してみる。 mod_perl/2.0.3 というような表示がされればとりあえず バージョンアップに成功。だめな場合は ERRORが出るので次の作業に。 4.CPANからmod_perl2をインストール もし3までの作業で、mod_perl2が動かなかったら apacheのエラーログを見てみる。PLESK環境であれば virtualHostのエラーログとなる。 /var/www/vhosts/DOMAINNAME.COM/statistics/logs の中のerror_log になるだろう。 その中に failed to resolve handler `ModPerl Registry Can t locate ModPerl/Registry.pm in @INC (@INC (略) というようなエラーが出ていたら、たぶん、 mod_perl2用のモジュールを入れる必要がある。 ということで $perl -MCPAN -e shell \ cpan install mod_perl2 ここで、インストールに失敗する場合はたぶんroot権限で サーバにログインしてこの作業をしようとしているのでは ないかと思われる。その場合は途中で出てくるテストを すべてスキップする。 [warning] result [ error] You are running the test suite under user root . Apache cannot spawn child processes as root , therefore こんなwarningが出るのでここでスキップするか聞いてくるので YESを選ぶとスキップできる。 また、この作業の中で /usr/lib/httpd/modules/mod_perl.so というファイルを作成しようとするが、すでにこのファイルが 存在する場合はエラーになってしまう(そういうメッセージが 出る) その場合は上記のファイルをリネームして再度この作業を 実行させればよい。 これで再度 mod_perl_test.pl を実行してみるとおそらくmod_perlのバージョンが表示される はずである。
https://w.atwiki.jp/perlism/pages/11.html
Perl 【読み】ぱぁる 【属性】プログラミング言語 ラリーウォール氏により開発され、インタプリタ式でC,AWK,シェルライクな、いまやCGIの代名詞と言っても過言ではない、他の言語とは比べ物にならないほど柔軟性に富んだプログラミング言語である。 ただ、その柔軟性が裏目に出ることがほとんどで、Aというプログラムでは通用したコードも、ひとたびBというプログラムで同じものを書くと、全く通用しなくなるといったことが起こりやすい言語である。 某人曰く、「Practical Extraction and Report Language」(実用的データ取得レポート作成言語) また某人曰く、「Pathologically Eclectic Rubbish Lister」(病的折衷主義のガラクタ出力装置)
https://w.atwiki.jp/keroro00innovator/pages/766.html
Escape Escape アーティスト Hemenway 発売日 2012年5月23日 レーベル KRE デイリー最高順位 11位(2012年5月24日) 週間最高順位 12位(2012年5月29日) 年間最高順位 200位(2012年) 初動売上 3842 累計売上 6761 収録内容 曲名 タイアップ 視聴 1 Escape エウレカセブンAO OP 2 Shifting 3 ここにいない君へ ランキング 週 月日 順位 変動 週/月間枚数 累計枚数 1 5/29 12 新 3842 3842 2 6/5 17 ↓ 1470 5312 2012年5月 新 5312 5312 3 6/12 ↓ 667 5979 4 6/19 467 6446 5 6/26 315 6761 2012年6月 1449 6761 エウレカセブン OP 前作交響詩篇エウレカセブン 次作 sakuraNIRGILIS Escape ブレイブルーFLOW 関連CD stand by me
https://w.atwiki.jp/hmiku/pages/4048.html
【登録タグ 曖昧さ回避】 曖昧さ回避のためのページ 涼風Pの曲Escape/涼風P ジミーサムPの曲Escape/ジミーサムP 永久就活Pの曲escape/永久就活P otetsuの曲Escape/otetsu 小さな人魚の曲escape/小さな人魚 午後ティーの曲escape/午後ティー misoの曲Escape/miso 曖昧さ回避について 曖昧さ回避は、同名のページが複数存在してしまう場合にのみ行います。同名のページは同時に存在できないため、当該名は「曖昧さ回避」という入口にして個々のページはページ名を少し変えて両立させることになります。 【既存のページ】は「ページ名の変更」で移動してください。曖昧さ回避を【既存のページ】に上書きするのはやめてください。「〇〇」という曲のページを「〇〇/作り手」等に移動する場合にコピペはしないでください。 曖昧さ回避作成時は「曖昧さ回避の追加の仕方」を参照してください。 曖昧さ回避依頼はこちら→修正依頼/曖昧さ回避追加依頼
https://w.atwiki.jp/rupt/pages/178.html
escape ../ ソフトウェア名 escape 現Version ? 作者(敬称略) 130氏 配布元 保管室 - ソフトウェア形態 ? ソース 非公開 紹介 ひたすら3D迷路の中をさまよい続けるゲーム(?)。氏によれば何かの試作品らしい。 氏は名無しさんであるがこの水準のソフトを作るRuputer関係技術者は限られている。 きっとあの人かあの人かあの人だろう。公開の流れは当該スレを参照のこと。 (スクリーンショット情報) Aurex2 RC4 + WinShot 1.53a
https://w.atwiki.jp/atwikimyj/pages/90.html
mod_perl2を使う上でカレントディレクトリを変更できない という場合がある。これは設定を変更することで 回避できる(普通のCGIと同じように使えるが、その分プロセス をたくさん使用するのでメモリを余計使う)。 それにはperlのインストール時に"ithread"という機能が有効 になっていなければならない。 Perlインストール時にデフォルトでインストールすると ithreadという機能が無効になった状態でインストール される。 その状態で、httpd.confに PerlOptions +Parentを付与しても下記のようなエラーがでる。 # apachectl graceful Syntax error on line 15 of /var/www/vhosts/flier.net/conf/vhost.conf PerlOption `Parent requires an ithreads enabled Perl そもそもithreadとは何ぞや Perlのithreads http //www.donzoko.net/doc/memo/perlithreads.html#basic すばらしい解説ページ。 ここの「基本編」内のperlドキュメント日本語訳によると、 現在起動しているperlでithreadが有効になっているかどうかは perl -V にてperlのコンフィグを確認し、 useithreads=undef なら無効 useithreads=define なら有効 とある。早速確認すると、undefだった。有効にするには、 perlをインストールする際のConfigureにてオプションを 追加することでithreadを有効にすることが可能になる。 freeBSDならば簡単にexportなど(よくわからんが)を使えば ithreadだけちょちょっと有効にできるみたい。 しかし今使っている環境はCentOSなのだ、、。 ということでperlの再インストールが必要となる。 [1]perlのstable版をダウンロード、サーバにアップ [2]解凍、解凍したフォルダに移動 [3]Configureで設定を行う # ./Configure -Dprefix=/usr/local -Dusethreads -de -U d_setlocate の後に #make そして #make test 最後に #make install make testの途中で以下のようなsyslogのエラーが出るが ext/Sys/Syslog/t/syslog...................# Failed test syslog() should return true 0 # in ../ext/Sys/Syslog/t/syslog.t at line 109. 弾小飼御大のblogを確認すると http //blog.livedoor.jp/dankogai/archives/50494105.html このエラーは特に問題ないみたい。 再度Perl -Vを実行して、有効になっていれば ithread有効化は完了。